#!/bin/bash

# AI角色扮演服务器启动脚本
echo "🚀 启动AI角色扮演服务器..."

# 检查是否已有进程在运行
PID=$(ps aux | grep ai_roleplay_server | grep -v grep | awk '{print $2}')
if [ ! -z "$PID" ]; then
    echo "⚠️  检测到服务器已在运行 (PID: $PID)"
    echo "正在停止现有进程..."
    kill $PID 2>/dev/null
    sleep 2
fi

# 进入后端目录
cd backend

# 检查可执行文件是否存在
if [ ! -f "ai_roleplay_server" ]; then
    echo "📦 可执行文件不存在，正在编译..."
    make clean && make
    if [ $? -ne 0 ]; then
        echo "❌ 编译失败！"
        exit 1
    fi
fi

# 启动服务器
echo "🌟 启动服务器在端口 9002..."
echo "📍 服务器地址: ws://115.190.136.40:9002"
echo "🌐 前端访问: http://115.190.136.40:8000 (如果配置了HTTP服务器)"
echo "📱 测试页面: test_connection.html"
echo ""

# 后台运行服务器
nohup ./ai_roleplay_server > server.log 2>&1 &
SERVER_PID=$!

echo "✅ 服务器启动成功！"
echo "📝 进程ID: $SERVER_PID"
echo "📋 日志文件: backend/server.log"
echo ""
echo "💡 使用以下命令查看日志:"
echo "   tail -f backend/server.log"
echo ""
echo "💡 使用以下命令停止服务器:"
echo "   kill $SERVER_PID"
echo ""
echo "🔍 验证服务器状态:"
sleep 2
if ps -p $SERVER_PID > /dev/null; then
    echo "✅ 服务器正在运行"
    echo "🔗 WebSocket端点: ws://115.190.136.40:9002"
else
    echo "❌ 服务器启动失败，请查看日志"
    exit 1
fi
